/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package br.ufrn.cerescaico.sepe.beans;

import java.io.Serializable;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;

/**
 *
 * @author Taciano
 */
@Entity
@Table(name = "categoria")
public class Categoria implements Bean, Serializable {

    public static Categoria COMUNICACAO_ORAL = new Categoria(1, "Comunicação Oral");
    public static Categoria POSTER = new Categoria(2, "Pôster");
    public static Categoria RELATO_MONITORIA  = new Categoria(3, "Relato de Monitoria");
    public static Categoria MINI_CURSO = new Categoria(4, "Mini-curso");
    public static Categoria OFICINA = new Categoria(5, "Oficina");
    public static Categoria MESA_TEMATICA = new Categoria(6, "Mesa Temática");

    @Id
    @Column(name = "id")
    @GeneratedValue(strategy=GenerationType.IDENTITY)
    private Integer id;

    @Column(name = "nome", length = 255, nullable = false)
    private String nome;

    public Categoria() {
    }

    private Categoria(int id, String nome) {
        this.id = id;
        this.nome = nome;
    }

    @Override
    public Integer getId() {
        return this.id;
    }

    @Override
    public void setId(Integer id) {
        this.id = id;
    }

    public String getNome() {
        return nome;
    }

    public void setNome(String nome) {
        this.nome = nome;
    }

    @Override
    public int compareTo(Object o) {
        Categoria c = (Categoria)o;
        return c.id = this.id;
    }
}
